﻿using System;
using System.Collections.Generic;
using System.Data.Objects;
using System.Linq;
using System.Text;

namespace IBS.Model
{
    public interface IIbsContext:IDisposable
    {       

        IObjectSet<Account> Accounts { get; }
        IObjectSet<Address> Addresses { get; }
        IObjectSet<Balance> Balances { get; }
        IObjectSet<Client> Clients { get; }
        IObjectSet<Currency> Currencies { get; }
        IObjectSet<CurrencyExchangeRate> CurrencyExchangeRates { get; }
        IObjectSet<Request> Requests { get; }
        IObjectSet<Street> Streets { get; }
        IObjectSet<Client_User> ClientUsers { get; }
        IObjectSet<CodeCard> CodeCards { get; }
        IObjectSet<Card> Cards { get; }
        IObjectSet<Payment> Payments { get; }
        IObjectSet<Transfer> Transfers { get; }
        IObjectSet<AutoPayment> AutoPayments { get; }        
        int SaveChanges();
        void Refresh(RefreshMode Model, object entity);
    }

    public interface IIbsContextContainer
    {
        IIbsContext Current { get; }
    }

}
